# ---
# 1 ANALISE DOS MECANISMOS DE INFLUENCIA MINISTERIAL
# ---


# Carrega os pacotes necessarios
library(kableExtra)
library(tidyverse)
library(stargazer)
library(knitr)
library(here)
library(lfe)


# Carrega os dados
load(here("data", "siconv_mecanismos_2009_2016.Rda"))


# Funcoes
source(here("utils", "funcoes.R"))


# Tabela 3 - Teste dos mecanismos, 2009-2016 (microdados siconv)
grupos <- c("Empenhado", "Proposto", "Proposto - Emendas", "Emendas", "Emendas empenhadas",
            "Empenhado - Emendas empenhadas", "Rejeitado", "Em espera", "Não assinado")

m0 <- felm(empenho_pc ~ align_party | mun_term_min + minis_year + mun_year | 0 | 
                cod_ibge, data = base_siconv, exactDOF = T) %>%
  did_parse(grupos[1], base_siconv$empenho_pc[base_siconv$align_party == 0] %>% mean(na.rm = T))


m1a <- felm(proposto_pc ~ align_party | mun_term_min + minis_year + mun_year | 0 | 
             cod_ibge, data = base_siconv, exactDOF = T) %>%
  did_parse(grupos[2], base_siconv$proposto_pc[base_siconv$align_party == 0] %>% mean(na.rm = T))

m1b <- felm(proposto_menos_emendas ~ align_party | mun_term_min + minis_year + mun_year | 0 | 
             cod_ibge, data = base_siconv, exactDOF = T) %>%
  did_parse(grupos[3], base_siconv$proposto_menos_emendas[base_siconv$align_party == 0] %>% mean(na.rm = T))

m2a <- felm(emendas_pc ~ align_party | mun_term_min + minis_year + mun_year | 0 | 
              cod_ibge, data = base_siconv, exactDOF = T) %>%
  did_parse(grupos[4], base_siconv$emendas_pc[base_siconv$align_party == 0] %>% mean(na.rm = T))

m2b <- felm(emendas_empenhadas_pc ~ align_party | mun_term_min + minis_year + mun_year | 0 | 
              cod_ibge, data = base_siconv, exactDOF = T) %>%
  did_parse(grupos[5], base_siconv$emendas_empenhadas_pc[base_siconv$align_party == 0] %>% mean(na.rm = T))

m2c <- felm(empenho_menos_emendasemp ~ align_party | mun_term_min + minis_year + mun_year | 0 | 
              cod_ibge, data = base_siconv, exactDOF = T) %>%
  did_parse(grupos[6], base_siconv$empenho_menos_emendasemp[base_siconv$align_party == 0] %>% mean(na.rm = T))

m3a <- felm(rejeitado_pc ~ align_party | mun_term_min + minis_year + mun_year | 0 | 
              cod_ibge, data = base_siconv, exactDOF = T) %>%
  did_parse(grupos[7], base_siconv$rejeitado_pc[base_siconv$align_party == 0] %>% mean(na.rm = T))

m3b <- felm(em_analise_pc ~ align_party | mun_term_min + minis_year + mun_year | 0 | 
              cod_ibge, data = base_siconv, exactDOF = T) %>%
  did_parse(grupos[8], base_siconv$em_analise_pc[base_siconv$align_party == 0] %>% mean(na.rm = T))

m3c <- felm(nao_assinado ~ align_party | mun_term_min + minis_year + mun_year | 0 | 
              cod_ibge, data = base_siconv, exactDOF = T) %>%
  did_parse(grupos[9], base_siconv$nao_assinado[base_siconv$align_party == 0] %>% mean(na.rm = T))



suppressWarnings( # Coercing factor to character
  
  list(m0, m1a, m1b, m2a, m2b, m2c, m3a, m3b, m3c) %>%
    bind_rows
) %>%
  setNames(c("Variável Dependente", "Efeito", "Erro-padrão", "Média controle", "N")) %>%
  kable(booktabs = T, caption = "Efeito do alinhamento ministerial: mecanismos",
        align = c("l", "c", "c", "c", "c"), format = "html", 
        digits = 2, escape = F, linesep = "") %>%
  group_rows("Mecanismo 1", 2, 3) %>%
  group_rows("Mecanismo 2", 4, 6) %>%
  group_rows("Mecanismo 3", 7, 9) %>%
  kable_styling(latex_options = "hold_position") %>%
  footnote(general_title = "", escape = F,
           general = "\\\\parbox[t]{14cm}{\\\\footnotesize Nota: \\\\textsuperscript{*} P-valor < 0.05. Erros-padrão robustos com \\\\textit{cluster} para os municípios reportados.}") %>%
  writeLines(here("outputs", "tab_mecanismos.html"), useBytes = T) 


# Proximo script
rm(list = ls())


